1. Field of the Invention
The invention relates generally to data storage and more particularly to systems and methods for storing data with improved space-efficiency, power-efficiency and bandwidth in medium access controllers.
2. Related Art
Wireless computer systems and other wireless electronic devices are playing increasingly important roles in consumers' lives. More and more people have mobile phones, PDAs, laptop computers and various computer peripherals and other devices. With the proliferation of these devices, there is a desire to improve the performance of the devices, in terms of space efficiency (size,) power efficiency, interconnectivity, ease of use, and so on.
The development of smaller and more portable computing devices has placed more emphasis on the importance of efficient memory management. There is an increasing need for mechanisms that make the most efficient use of available memory. There is also a need to make the memory accessible with higher bandwidth and to reduce the power consumption associated with memory management.
Conventional mechanisms for memory management (e.g., memory management units, or MMUs) are constrained by various limitations. For example, in conventional systems, memory is statically allocated prior to its use. In other words, a judgment is made as to the amount of memory that will be required for a particular program or process, and this amount of memory is allocated for use by the program/process. If insufficient memory is allocated, the program/process may not have enough memory to store all of the data that it needs to store, and some of the data may be lost. This may be referred to as a data overflow. In order to avoid a data overflow condition, it may be desirable to over-allocate (i.e., to allocate more memory than is expected to be used.) If less than all of the memory is actually used, however, the unused portion of the memory is wasted—it is not used by the program/process, yet could not be allocated to a different program/process. Whether the memory space is under-allocated or over-allocated, the usage of the memory space is inefficient.
Another limitation of conventional systems is that it is difficult and/or expensive to provide increased bandwidth for accessing the memory. The amount of data that can be written into or read from the memory is therefore limited, at least by practical (e.g., cost) considerations. It is also typically also the case in conventional systems that memory accesses and allocation are expensive in terms of the amount of processor intervention than is required. The cost of this processor intervention corresponds to not only loss of processing cycles that are used for memory management, but also power that is consumed by the processor in performing memory management functions.
Still another limitation of conventional systems is that the mechanism used by the host system for accessing data in the memory is generally incompatible with the most efficient mechanism for the radio controller to access the data. An embedded processor is usually required to restructure the data in memory as it is passed between the host and radio.